Computers have become an integral part of society. The demands on computers, especially in server type environments, have increased to a point where they are expected to operate on a continual basis. Because over time certain computer components may need to be installed or removed for upgrade, repair, or maintenance some computer systems provide a means for insertion or removal of peripheral components while the system is running. For instance, some desktop and server computer systems utilize hot-plug Peripheral Component Interconnect controllers (“HPPC”). HPPCs manage the electrical aspects of powering up or down hot-plug slots. Through HPPC's and corresponding slots in a computer system, Peripheral Component Interconnect (“PCI”) devices or adapter cards can be removed from or inserted into slots while the system is actively running.
In order to facilitate hot-plug removal, insertion, and slot re-enumeration, a mechanism is required to inform the computer system that a change is pending. This notification brings the pending change to the computer system's attention, thereby enabling the HPPC to power up or down the appropriate slot and the operating system to re-enumerate. Previous systems accomplished notification with a mechanical retention latch (“MRL”) that triggers a signal to the HPPC when the MRL is opened or closed. Because of potential electrocution or system damage, power can be removed immediately from a slot when an MRL is opened. However, opening a MRL that powers down a slot immediately does not leave enough time to notify the operating system and re-enumerate. Thus immediate power removal, in some cases, could cause unpredictable results such as data corruption. Subsequent specifications for standard HPPC's now provide for an attention button signal that may be used to notify the operating system of a request for removal or insertion of a PCI adapter card. However, some HPPC platforms are not equipped with a discrete attention button signal as described by the specification. Consequently, other provisions are necessary for non-standard HPPC platforms to determine whether an attention button has been pressed.
For instance, the attention button may be tied to a presence signal, an existing signal within the HPPC platform that is also used to detect the presence of a PCI adapter card within a slot and the card's power requirements. Because the presence signal is shared between card presence detection and the attention button, provisions are necessary to distinguish between an attention button press and a PCI card insertion or removal so the HPPC may respond appropriately.
It is with respect to these considerations and others that the various embodiments of the invention have been made.